package com.internetCafes.spms.web.customer.service.role;

import com.baomidou.mybatisplus.extension.service.IService;
import com.internetCafes.spms.web.customer.entity.role.RoleDeptDataAsso;
import com.internetCafes.spms.web.customer.model.role.RoleDeptDataDo;
import com.internetCafes.spms.web.customer.model.role.RoleDeptDataPo;
import com.internetCafes.spms.web.sys.model.UserInfo;

import java.util.List;

/**
 * <p>
 * 角色数据权限表 服务类
 * </p>
 *
 * @author Zj
 * @since 2021-10-13
 */
public interface IRoleDeptDataAssoService extends IService<RoleDeptDataAsso> {

    /**
     * 获取当前用户授权的部门id 和 所在部门以及部门以下部门id
     *
     * @param userEntity 用户信息
     * @return 授权部门id列表
     */
    List<Long> listDeptIdAuthorAndUserDeptUnder(UserInfo userEntity);

    /**
     * 列表
     */
    List<RoleDeptDataPo> listPo(RoleDeptDataDo roleDeptDataDo);

    /**
     * 通过角色Id删除关联部门
     *
     * @param roleId 角色id
     * @return true/false
     */
    boolean removeByRoleId(Long roleId);

    /**
     * 绑定角色和部门id列表关系
     *
     * @param roleId     角色id
     * @param deptIdList 部门id列表
     * @return true/false
     */
    boolean updateRoleDeptList(Long roleId, List<Long> deptIdList);
}
